<html>
 <head>
  <meta charset="utf-8"/>
  <meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport"/>
  <title>
   开源NoSQL数据库SequoiaDB源码学习笔记  | 数螺 | NAUT IDEA
  </title>
  <link href="http://cdn.bootcss.com/bootstrap/3.3.6/css/bootstrap-theme.min.css" rel="stylesheet"/>
  <link href="http://cdn.bootcss.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"/>
  <style type="text/css">
   #xmain img {
                  max-width: 100%;
                  display: block;
                  margin-top: 10px;
                  margin-bottom: 10px;
                }

                #xmain p {
                    line-height:150%;
                    font-size: 16px;
                    margin-top: 20px;
                }

                #xmain h2 {
                    font-size: 24px;
                }

                #xmain h3 {
                    font-size: 20px;
                }

                #xmain h4 {
                    font-size: 18px;
                }


                .header {
	           background-color: #0099ff;
	           color: #ffffff;
	           margin-bottom: 20px;
	        }

	        .header p {
                  margin: 0px;
                  padding: 10px 0;
                  display: inline-block;  
                  vertical-align: middle;
                  font-size: 16px;
               }

               .header a {
                 color: white;
               }

              .header img {
                 height: 25px;
              }
  </style>
  <script src="http://cdn.bootcss.com/jquery/3.0.0/jquery.min.js">
  </script>
  <script src="http://nautstatic-10007657.file.myqcloud.com/static/css/readability.min.js" type="text/javascript">
  </script>
  <script type="text/javascript">
   $(document).ready(function() {
                 var loc = document.location;
                 var uri = {
                  spec: "http://dataunion.org/5624.html",
                  host: "http://dataunion.org",
                  prePath: "http://dataunion.org",
                  scheme: "http",
                  pathBase: "http://dataunion.org/"
                 };
    
                 var documentClone = document.cloneNode(true);
                 var article = new Readability(uri, documentClone).parse();
     
                 document.getElementById("xmain").innerHTML = article.content;
                });
  </script>
  <!-- 1466454916: Accept with keywords: (title(0.5):社区,数据库,数盟,笔记,开源,源码, topn(0.366666666667):社区,端口,数盟,开源,数据模型,数据分析,文件,数据库,编目,文档,文章,服务器,日志,数据,节点,底层,事务,性能,用户,基础架构,集合,异步,组中,代码,系统,应用程序,线程,一致性,分区,分布式).-->
 </head>
 <body onload="">
  <div class="header">
   <div class="container">
    <div class="row">
     <div class="col-xs-6 col-sm-6 text-left">
      <a href="/databee">
       <img src="http://nautidea-10007657.cos.myqcloud.com/logo_white.png"/>
      </a>
      <a href="/databee">
       <p>
        数螺
       </p>
      </a>
     </div>
     <div class="hidden-xs col-sm-6 text-right">
      <p>
       致力于数据科学的推广和知识传播
      </p>
     </div>
    </div>
   </div>
  </div>
  <div class="container text-center">
   <h1>
    开源NoSQL数据库SequoiaDB源码学习笔记
   </h1>
  </div>
  <div class="container" id="xmain">
   ﻿﻿
   <title>
    开源NoSQL数据库SequoiaDB源码学习笔记 | 数盟社区
   </title>
   <!-- All in One SEO Pack 2.2.7.6.2 by Michael Torbert of Semper Fi Web Design[32,72] -->
   <!-- /all in one seo pack -->
   <!--
<div align="center">
<a href="http://strata.oreilly.com.cn/hadoop-big-data-cn?cmp=mp-data-confreg-home-stcn16_dataunion_pc" target="_blank"><img src="http://dataunion.org/wp-content/uploads/2016/05/stratabj.jpg"/ ></a>
</div>
-->
   <header id="header-web">
    <div class="header-main">
     <hgroup class="logo">
      <h1>
       <a href="http://dataunion.org/" rel="home" title="数盟社区">
        <img src="http://dataunion.org/wp-content/themes/yzipi/images/logo.png"/>
       </a>
      </h1>
     </hgroup>
     <!--logo-->
     <nav class="header-nav">
      <ul class="menu" id="menu-%e4%b8%bb%e8%8f%9c%e5%8d%95">
       <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-71" id="menu-item-71">
        <a href="http://dataunion.org/category/events" title="events">
         活动
        </a>
        <ul class="sub-menu">
         <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-22457" id="menu-item-22457">
          <a href="http://dataunion.org/2016timeline">
           2016档期
          </a>
         </li>
         <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-22459" id="menu-item-22459">
          <a href="http://dataunion.org/category/parterc">
           合作会议
          </a>
         </li>
        </ul>
       </li>
       <li class="menu-item menu-item-type-taxonomy menu-item-object-category current-post-ancestor menu-item-has-children menu-item-20869" id="menu-item-20869">
        <a href="http://dataunion.org/category/tech" title="articles">
         文章
        </a>
        <ul class="sub-menu">
         <li class="menu-item menu-item-type-taxonomy menu-item-object-category current-post-ancestor current-menu-parent current-post-parent menu-item-20867" id="menu-item-20867">
          <a href="http://dataunion.org/category/tech/base" title="base">
           基础架构
          </a>
         </li>
         <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-3302" id="menu-item-3302">
          <a href="http://dataunion.org/category/tech/ai" title="ai">
           人工智能
          </a>
         </li>
         <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-3303" id="menu-item-3303">
          <a href="http://dataunion.org/category/tech/analysis" title="analysis">
           数据分析
          </a>
         </li>
         <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-21920" id="menu-item-21920">
          <a href="http://dataunion.org/category/tech/dm">
           数据挖掘
          </a>
         </li>
         <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-3314" id="menu-item-3314">
          <a href="http://dataunion.org/category/tech/viz" title="viz">
           可视化
          </a>
         </li>
         <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-3305" id="menu-item-3305">
          <a href="http://dataunion.org/category/tech/devl" title="devl">
           编程语言
          </a>
         </li>
        </ul>
       </li>
       <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-20876" id="menu-item-20876">
        <a href="http://dataunion.org/category/industry">
         行业
        </a>
        <ul class="sub-menu">
         <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-16328" id="menu-item-16328">
          <a href="http://dataunion.org/category/industry/case" title="case">
           行业应用
          </a>
         </li>
         <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-2112" id="menu-item-2112">
          <a href="http://dataunion.org/category/industry/demo" title="demo">
           Demo展示
          </a>
         </li>
         <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-21562" id="menu-item-21562">
          <a href="http://dataunion.org/category/industry/news">
           行业资讯
          </a>
         </li>
        </ul>
       </li>
       <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-311" id="menu-item-311">
        <a href="http://dataunion.org/category/sources" title="sources">
         资源
        </a>
       </li>
       <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-20870" id="menu-item-20870">
        <a href="http://dataunion.org/category/books" title="book">
         图书
        </a>
       </li>
       <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-21363" id="menu-item-21363">
        <a href="http://dataunion.org/category/training">
         课程
        </a>
       </li>
       <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-21853" id="menu-item-21853">
        <a href="http://dataunion.org/category/jobs">
         职位
        </a>
        <ul class="sub-menu">
         <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-22050" id="menu-item-22050">
          <a href="http://dataunion.org/category/career">
           职业规划
          </a>
         </li>
        </ul>
       </li>
      </ul>
     </nav>
     <!--header-nav-->
    </div>
   </header>
   <!--header-web-->
   <div id="main">
    <div id="soutab">
     <form action="http://dataunion.org/" class="search" method="get">
     </form>
    </div>
    <div id="container">
     <nav id="mbx">
      当前位置：
      <a href="http://dataunion.org">
       首页
      </a>
      &gt;
      <a href="http://dataunion.org/category/tech">
       文章
      </a>
      &gt;
      <a href="http://dataunion.org/category/tech/base">
       基础架构
      </a>
      &gt;  正文
     </nav>
     <!--mbx-->
     <article class="content">
      <header align="centre" class="contenttitle">
       <div class="mscc">
        <h1 class="mscctitle">
         <a href="http://dataunion.org/5624.html">
          开源NoSQL数据库SequoiaDB源码学习笔记
         </a>
        </h1>
        <address class="msccaddress ">
         <em>
          1,673 次阅读 -
         </em>
         <a href="http://dataunion.org/category/tech/base" rel="category tag">
          基础架构
         </a>
        </address>
       </div>
      </header>
      <div class="content-text">
       <p>
        作者：
        <a href="http://blog.csdn.net/oblesslyy">
         oblesslyy
        </a>
       </p>
       <p>
        <em>
         这几天翻了翻SequoiaDB的代码，记了点笔记。不保证下面内容的正确性（肯定有错的地方）
        </em>
       </p>
       <h2>
        <p name="t2">
        </p>
        个人观感
       </h2>
       <h3>
        <p name="t3">
        </p>
        优点
       </h3>
       <ol>
        <li>
         代码还不错，设计也算简洁。
        </li>
        <li>
         EDU和CB的使用让整个系统变得简单很多，让代码更关注逻辑。
        </li>
        <li>
         从设计上应该就是一个分布式系统，麻雀虽小五脏俱全。
        </li>
        <li>
         没用什么乱七八糟的东西改，基本是自己的代码（虽然支持SQL但是基本可以认为是通过Postgresql支持的）。
        </li>
       </ol>
       <h3>
        <p name="t4">
        </p>
        八卦&amp;吐槽
       </h3>
       <ol>
        <li>
         八卦一下Sequoia这个名字，本意是红杉的意思，同时丰田有款车叫这个名字，还有那个著名的红杉资本。不知道有什么关系没有。
        </li>
        <li>
         扫了一眼他们的招聘列表，居然没有招数据库开发的，不知道是数据库的人已经够了还是不打算搞了。
        </li>
        <li>
         吐槽一下缩写，我实在无法从代码的缩写里分辨出含义来，比如bar这个文件夹，里面包含了barBackup和barRestore，难道bar = backup + restore? 问题是barrier情何以堪？ixm = index mananger？dps = Data Protection Service？PD=Problem Determination ? PMD = Process MoDel ? 又比如_extentInsertRecord的参数叫deletedRecordPtr, 而_extentRemoveRecord的参数叫做recordPtr
        </li>
        <li>
         注释极少，基本上还是没有营养的重复一下类名什么的，也没有找到TODO之类，更关键的是注释基本都是用缩写表示，不排除开源版本特意把注释都删掉了。代码显得有点太干净了，干净的有点过了。
        </li>
       </ol>
       <h2>
        <p name="t5">
        </p>
        综述
       </h2>
       <p>
        关于整体介绍，要看
        <a href="http://git.oschina.net/wangzhonnew/SequoiaDB/blob/master/doc/sequoiadbdoc.docx" target="_blank">
         官方文件
        </a>
        (这份文件看起来有些原始，应该是不同时期不同人的文件堆积起来的，创业公司不能要求太高)，如果只关注一个摘要的话，请参考这个
        <a href="http://wenku.baidu.com/link?url=Q2HVcE7qZq5fcc1LwMJJbKs6ZXYRUW6qL3vTVFMXIKvwUHOdFc-2WP0wPgmUDT63ZC91G1k_M9sUZ6vk_cmuFvWgLZdMDiszknpVys3YL37" target="_blank">
         ppt
        </a>
        。
       </p>
       <blockquote>
        <p>
         SequoiaDB 数据库是一款新型企业级分布式非关系型数据库，帮助企业用户降低 IT 成本，并对大数据的存储与分析提供了一个坚实，可靠，高效与灵活的底层平台。
        </p>
        <p>
         优势
         <br/>
         • 通过非结构化存储与分布式处理，提供了近线性的水平扩张能力，让底层的存储不再成为瓶颈
         <br/>
         • 提供了精确到分区级别的高可用性，预防服务器，机房故障以及人为错误，让数据24×7永远在线
         <br/>
         • 提供了完善的企业级功能，让用户轻松管理高并发性任务，以及海量数据分析
         <br/>
         • 增强的非关系型数据模型，帮助企业快速开发和部署应用程序，做到应用程序的随需应变 • 提供了最终一致性的保障，从根本上杜绝数据缺失
         <br/>
         • 提供了在线应用与大数据分析的后台数据库的结合，通过读写分离机制做到同系统中数据分析与在线业 务互不干扰
        </p>
       </blockquote>
       <h2>
        <p name="t6">
        </p>
        系统架构
       </h2>
       <p>
        SequoiaDB 使用分布式架构，下图提供了对 SequoiaDB 体系结构的一般概述。
        <br/>
        <img src="http://dataunion.org/wp-content/uploads/2014/12/271110556247796.jpg"/>
        <br/>
        在客户机端（或应用程序端），本地或/和远程应用程序都与 SequoiaDB 客户机库链接。本地与远程客户机 使用 TCP/IP 协议与协调节点进行通讯。
        <br/>
        协调节点不保存任何用户数据，仅作为请求分发节点将用户请求分发至相应的数据节点。 编目节点保存系统的元数据信息，协调节点通过与编目节点通讯从而了解数据在数据节点中的实际分布。一
        <br/>
        个或多个编目节点可组成复制组集群。
        <br/>
        <img src="http://dataunion.org/wp-content/uploads/2014/12/271111047023989.jpg"/>
        <br/>
        数据节点保存用户的数据信息。一个或多个数据节点可以构成一个复制组（又称分区组）。复制组中每个数 据节点都存储该复制组的一份完整数据，又称为复制组实例（或分区组实例）；复制组中的数据节点之间采 用最终一致性同步数据，不同的复制组中保存的数据无重复。
        <br/>
        每个复制组中可以包含一个或多个数据节点。当存在多个数据节点时，节点间数据进行异步复制。复制组中 可以存在最多一个主节点与若干从节点。其中主节点可以进行读写操作，从节点进行只读操作
        <br/>
        <img src="http://dataunion.org/wp-content/uploads/2014/12/271111120628739.jpg"/>
        <br/>
        从节点离线不影响主节点的正常工作。主节点离线后会在从节点中自动选举出新的主节点处理写请求
        <br/>
        <img src="http://dataunion.org/wp-content/uploads/2014/12/271111204991763.jpg"/>
        <br/>
        节点恢复后，或新的节点加入复制组后会进行自动同步，保障数据在同步完成时与主节点一致。
       </p>
       <p>
        在单个数据节点中的体系结构如下：
        <br/>
        <img src="http://dataunion.org/wp-content/uploads/2014/12/271111279839242.jpg"/>
        <br/>
        在数据节点，活动由引擎可调度单元（EDU）控制。每一个节点为操作系统中的一个进程。每个 EDU 在节点 中为一个线程。对于外部用户请求其处理线程为代理线程，对于集群内部请求则由同步代理线程处理分区内 同步事件；或分区代理线程处理分区间同步事件。
        <br/>
        所有对数据的写操作均会记录入日志缓冲区，通过日志记录器将其异步写入磁盘。 用户数据会由代理线程直接写入文件系统缓冲池，然后由操作系统将其异步写入底层磁盘。
       </p>
       <h2>
        <p name="t7">
        </p>
        对外接口
       </h2>
       <p>
        基本上和MongoDB区别不大，用js搞得，接口粗看起来也差不多，努努力估计双方能兼容。SQL的支持通过postgresql实现，同时还实现了rest接口。
       </p>
       <h2>
        <p name="t8">
        </p>
        数据模型
       </h2>
       <p>
        SequoiaDB 数据库使用 JSON 数据模型，而非传统的关系型数据模型。
        <br/>
        JSON 数据结构的全称为 JavaScript Object Notation，是一种轻量级的数据交换格式，非常易于人阅读和编 写，同时也易于机器生成和解析。其底层存储是BSON。The same as MongoDB
        <br/>
        单个文件的限制依然是16MB。
       </p>
       <h2>
        <p name="t9">
        </p>
        存储模型
       </h2>
       <p>
        其具体实现也是经典的文件–数据段—数据页结构
        <br/>
        文件可以跨页（废话，页的大小最大64k），但是跨不了块。
        <br/>
        不知道是copy mongoDB还是处于系统简化的考虑，底层实际上还是mmap，也就是说读和换页什么的还是靠系统自己去搞得，相对于mongoDB的改进在于有后台任务刷脏页到磁盘。
       </p>
       <h2>
        <p name="t10">
        </p>
        一致性和持久性
       </h2>
       <h3>
        <p name="t11">
        </p>
        事务模型
       </h3>
       <p>
        SequoiaDB 是 ACID 兼容文档级别，支持提交回滚等事务操作。默认情况下，SequoiaDB为了保证性能关闭事务的支持，如果用户需要则可以在启动数据库时指定参数打开事务。
        <br/>
        在关闭事务支持时，一个单一操作能够写一个或多个字段，包括多个子文档的更新和数组元素更新。SequoiaDB 的 ACID 保证了文档更新的完整隔离性，任何错误都会引发回滚操作，以及客户能得到文档的一致性视图。
        <br/>
        而当事务打开时，任何在事务启动到提交（回滚）之间的操作都会在数据节点写入事务日志并跟踪事务 ID。更改的记录在事务提交（回滚）前持有互斥锁，不可被其他会话更改。当前 SequoiaDB 事务的隔离级别为 UR。
       </p>
       <h3>
        <p name="t12">
        </p>
        一致性
       </h3>
       <p>
        SequoiaDB 采用集合级别的可配置一致性策略，允许用户在对记录修改时，根据该记录所在集合判断是否需要等待备节点的确认。
        <br/>
        譬如，对于一个对性能要求较高、对数据可靠性要求一般的集合来说，可以在创建集合时将 write concern 参数设置为 1，代表只要写入主节点就可以返回成功信息。而该操作会在后台异步地发送给从节点执行。
        <br/>
        而对于性能要求较低、对数据可靠性要求很高的集合来说，可以在创建集合时指定 write concern 参数为 3，代表该操作最少被三个节点确认执行成功后才能够返回。
        <br/>
        当 write concern 的数量与该集合所在每个副本集中包含节点数量相等时，系统可以被认为是强一致，否则为最终一致。
       </p>
       <h2>
        <p name="t13">
        </p>
        对比
       </h2>
       <h3 id="vs-mongodb">
        <p name="t14">
        </p>
        VS MongoDB
       </h3>
       <p>
        整体感觉，SequoiaDB就是一个refine版的mongoDB。修正或者说加强了mongoDB的很多问题，比如那个臭名昭著的锁啊，页管理了，有限的支持事务啥的。这个应该就是所谓的后发优势了，前面有人给你趟过一遍坑了，问题简化了很多。
        <br/>
        至于说双方谁的质量高，谁的分布式架构好，谁皮实耐用那就是一个仁者见仁智者见智的问题。
        <br/>
        一切交给时间去考察吧。
        <br/>
        个人理解的有点在于
       </p>
       <ol>
        <li>
         实现了行级锁，相对mongoDB极大的改善了插入性能，一些
         <a href="http://www.kuqin.com/shuoit/20140928/342398.html" target="_blank">
          测试报告
         </a>
         也证明了这一点。
        </li>
        <li>
         虽然依然是mmap但是似乎做了一些精细化管理。
        </li>
        <li>
         有了最基础的事务支持。
        </li>
        <li>
         没做复杂的mempool，缓存池之类的事情；把有限的精力投入到了最需要的地方。（窃以为即使依赖系统实现总比自己山寨一个乱七八糟的东西强，写内核的人是顶尖程序员，即使他们的程序不是为数据库优化的）。
        </li>
       </ol>
       <h3 id="vs-founderxml">
        <p name="t15">
        </p>
        VS FounderXML
       </h3>
       <p>
        这里的比较忽略XML和Json的巨大不同之处。
        <br/>
        和FounderXML相比，SequoiaDB放弃了或者说不支持很多东西：
       </p>
       <ol>
        <li>
         事务。换到的是相对简单的设计（C：SequoiaDB支持到read uncommit，比完全不支持好那么一点点），不用引入复杂的Postgresql或其的事务数据库/引擎。当然可以自己开发一个，嗯，这么天才的主意还是算了吧。
        </li>
        <li>
         大文件支持，有没有，这是一个有点复杂的选择，支持吧，确实给系统带来更多的复杂性，性能也受到拖累；不支持吧，确实有实际需要。就快速出一个产品的角度说，还是不支持的好。
         <br/>
         相对于FounderXML，SequoiaDB主要的进步点在于：
        </li>
        <li>
         用简化的设计（代价是牺牲某些功能）快速完成一个产品。
        </li>
        <li>
         依赖相对较少，其核心代码基本上都是自己开发的。只依赖boost，php，parser，crypto等少数东西。突然想起一个哥们吐槽某数据库是学化学的人写的，少依赖点离化学就远了一点点。
        </li>
       </ol>
       <h2>
        <p name="t16">
        </p>
        其它和代码相关的
       </h2>
       <h3 id="cb">
        <p name="t17">
        </p>
        CB
       </h3>
       <p>
        CB的含义是control block。在SequoiaDB中这是很重要的接口：控制相关的逻辑就靠它了
       </p>
       <!-- Crayon Syntax Highlighter v_2.7.2_beta -->
       <div class="crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover" id="crayon-5768537f6df6b467550375" style=" margin-top: 12px; margin-bottom: 12px; font-size: 12px !important; line-height: 15px !important;">
        <div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">
         <span class="crayon-title">
         </span>
         <div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">
          <div class="crayon-button crayon-nums-button" title="切换是否显示行编号">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-plain-button" title="纯文本显示代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-wrap-button" title="切换自动换行">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-expand-button" title="点击展开代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-copy-button" title="复制代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-popup-button" title="在新窗口中显示代码">
           <div class="crayon-button-icon">
           </div>
          </div>
         </div>
        </div>
        <div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;">
        </div>
        <div class="crayon-plain-wrap">
         <textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;" wrap="soft">
          &lt;span class="hljs-comment"&gt;/*
      _IControlBlock define
   */&lt;/span&gt;
   class _IControlBlock : &lt;span class="hljs-keyword"&gt;public&lt;/span&gt; SDBObject, &lt;span class="hljs-keyword"&gt;public&lt;/span&gt; _ISDBRoot
   {
      &lt;span class="hljs-keyword"&gt;public&lt;/span&gt;:
         _&lt;span class="hljs-title"&gt;IControlBlock&lt;/span&gt; () {}
         &lt;span class="hljs-keyword"&gt;virtual&lt;/span&gt; ~_IControlBlock () {}

         &lt;span class="hljs-keyword"&gt;virtual&lt;/span&gt; SDB_CB_TYPE cbType() &lt;span class="hljs-keyword"&gt;const&lt;/span&gt; = &lt;span class="hljs-number"&gt;0&lt;/span&gt; ;
         &lt;span class="hljs-keyword"&gt;virtual&lt;/span&gt; &lt;span class="hljs-keyword"&gt;const&lt;/span&gt; CHAR* cbName() &lt;span class="hljs-keyword"&gt;const&lt;/span&gt; = &lt;span class="hljs-number"&gt;0&lt;/span&gt; ;

         &lt;span class="hljs-keyword"&gt;virtual&lt;/span&gt; INT32  init () = &lt;span class="hljs-number"&gt;0&lt;/span&gt; ;
         &lt;span class="hljs-keyword"&gt;virtual&lt;/span&gt; INT32  active () = &lt;span class="hljs-number"&gt;0&lt;/span&gt; ;
         &lt;span class="hljs-keyword"&gt;virtual&lt;/span&gt; INT32  deactive () = &lt;span class="hljs-number"&gt;0&lt;/span&gt; ;
         &lt;span class="hljs-keyword"&gt;virtual&lt;/span&gt; INT32  fini () = &lt;span class="hljs-number"&gt;0&lt;/span&gt; ;
         &lt;span class="hljs-keyword"&gt;virtual&lt;/span&gt; &lt;span class="hljs-keyword"&gt;void&lt;/span&gt;   onConfigChange() {}

   } ;
   typedef _IControlBlock IControlBlock ;
         </textarea>
        </div>
        <div class="crayon-main" style="">
         <table class="crayon-table">
          <tbody>
           <tr class="crayon-row">
            <td class="crayon-nums " data-settings="show">
             <div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;">
              <div class="crayon-num" data-line="crayon-5768537f6df6b467550375-1">
               1
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df6b467550375-2">
               2
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df6b467550375-3">
               3
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df6b467550375-4">
               4
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df6b467550375-5">
               5
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df6b467550375-6">
               6
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df6b467550375-7">
               7
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df6b467550375-8">
               8
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df6b467550375-9">
               9
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df6b467550375-10">
               10
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df6b467550375-11">
               11
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df6b467550375-12">
               12
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df6b467550375-13">
               13
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df6b467550375-14">
               14
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df6b467550375-15">
               15
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df6b467550375-16">
               16
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df6b467550375-17">
               17
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df6b467550375-18">
               18
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df6b467550375-19">
               19
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df6b467550375-20">
               20
              </div>
             </div>
            </td>
            <td class="crayon-code">
             <div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;">
              <div class="crayon-line" id="crayon-5768537f6df6b467550375-1">
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-comment"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-c">
                /*
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df6b467550375-2">
               <span class="crayon-c">
                _IControlBlock define
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df6b467550375-3">
               <span class="crayon-c">
                */
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df6b467550375-4">
               <span class="crayon-h">
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                _IControlBlock
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                :
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-keyword"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-m">
                public
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                SDBObject
               </span>
               <span class="crayon-sy">
                ,
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-keyword"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-m">
                public
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                _ISDBRoot
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df6b467550375-5">
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                {
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df6b467550375-6">
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-keyword"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-m">
                public
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-o">
                :
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df6b467550375-7">
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                _
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-title"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-v">
                IControlBlock
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                {
               </span>
               <span class="crayon-sy">
                }
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df6b467550375-8">
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-keyword"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-v">
                virtual
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                ~
               </span>
               <span class="crayon-e">
                _IControlBlock
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                {
               </span>
               <span class="crayon-sy">
                }
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df6b467550375-9">
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df6b467550375-10">
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-keyword"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-v">
                virtual
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                SDB_CB_TYPE
               </span>
               <span class="crayon-e">
                cbType
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-keyword"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-m">
                const
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-number"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-cn">
                0
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                ;
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df6b467550375-11">
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-keyword"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-v">
                virtual
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-keyword"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-m">
                const
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-t">
                CHAR
               </span>
               <span class="crayon-o">
                *
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                cbName
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-keyword"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-m">
                const
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-number"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-cn">
                0
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                ;
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df6b467550375-12">
              </div>
              <div class="crayon-line" id="crayon-5768537f6df6b467550375-13">
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-keyword"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-v">
                virtual
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                INT32
               </span>
               <span class="crayon-e">
                init
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-number"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-cn">
                0
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                ;
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df6b467550375-14">
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-keyword"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-v">
                virtual
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                INT32
               </span>
               <span class="crayon-e">
                active
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-number"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-cn">
                0
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                ;
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df6b467550375-15">
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-keyword"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-v">
                virtual
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                INT32
               </span>
               <span class="crayon-e">
                deactive
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-number"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-cn">
                0
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                ;
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df6b467550375-16">
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-keyword"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-v">
                virtual
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                INT32
               </span>
               <span class="crayon-e">
                fini
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-number"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-cn">
                0
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                ;
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df6b467550375-17">
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-keyword"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-v">
                virtual
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-keyword"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-t">
                void
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                onConfigChange
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                {
               </span>
               <span class="crayon-sy">
                }
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df6b467550375-18">
              </div>
              <div class="crayon-line" id="crayon-5768537f6df6b467550375-19">
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                }
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                ;
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df6b467550375-20">
               <span class="crayon-h">
               </span>
               <span class="crayon-r">
                typedef
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                _IControlBlock
               </span>
               <span class="crayon-i">
                IControlBlock
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                ;
               </span>
              </div>
             </div>
            </td>
           </tr>
          </tbody>
         </table>
        </div>
       </div>
       <!-- [Format Time: 0.0154 seconds] -->
       <p>
       </p>
       <h3>
        <p name="t18">
        </p>
        代码入口
       </h3>
       <p>
        整个数据库的入口在pmdMain.cpp中，基本上是读配置，初始化一堆mananger，恢复上次失败的数据的。关键代码是根据启动类型的不同启动不同的code block（CB）：
       </p>
       <!-- Crayon Syntax Highlighter v_2.7.2_beta -->
       <div class="crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover" id="crayon-5768537f6df7f453729861" style=" margin-top: 12px; margin-bottom: 12px; font-size: 12px !important; line-height: 15px !important;">
        <div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">
         <span class="crayon-title">
         </span>
         <div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">
          <div class="crayon-button crayon-nums-button" title="切换是否显示行编号">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-plain-button" title="纯文本显示代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-wrap-button" title="切换自动换行">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-expand-button" title="点击展开代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-copy-button" title="复制代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-popup-button" title="在新窗口中显示代码">
           <div class="crayon-button-icon">
           </div>
          </div>
         </div>
        </div>
        <div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;">
        </div>
        <div class="crayon-plain-wrap">
         <textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;" wrap="soft">
          &lt;span class="hljs-literal"&gt;void&lt;/span&gt; _pmdController&lt;span class="hljs-tag"&gt;::registerCB&lt;/span&gt;( SDB_ROLE dbrole )
   {
      &lt;span class="hljs-keyword"&gt;if&lt;/span&gt; ( SDB_ROLE_DATA &lt;span class="hljs-subst"&gt;==&lt;/span&gt; dbrole )
      {
         PMD_REGISTER_CB( sdbGetDPSCB() ) ;        &lt;span class="hljs-comment"&gt;// DPS&lt;/span&gt;
         PMD_REGISTER_CB( sdbGetTransCB() ) ;      &lt;span class="hljs-comment"&gt;// TRANS&lt;/span&gt;
         PMD_REGISTER_CB( sdbGetClsCB() ) ;        &lt;span class="hljs-comment"&gt;// CLS&lt;/span&gt;
         PMD_REGISTER_CB( sdbGetBPSCB() ) ;        &lt;span class="hljs-comment"&gt;// BPS&lt;/span&gt;
      }
      &lt;span class="hljs-keyword"&gt;else&lt;/span&gt; &lt;span class="hljs-keyword"&gt;if&lt;/span&gt; ( SDB_ROLE_COORD &lt;span class="hljs-subst"&gt;==&lt;/span&gt; dbrole )
      {
         PMD_REGISTER_CB( sdbGetTransCB() ) ;      &lt;span class="hljs-comment"&gt;// TRANS&lt;/span&gt;
         PMD_REGISTER_CB( sdbGetCoordCB() ) ;      &lt;span class="hljs-comment"&gt;// COORD&lt;/span&gt;
         PMD_REGISTER_CB( sdbGetFMPCB () ) ;       &lt;span class="hljs-comment"&gt;// FMP&lt;/span&gt;
      }
      &lt;span class="hljs-keyword"&gt;else&lt;/span&gt; &lt;span class="hljs-keyword"&gt;if&lt;/span&gt; ( SDB_ROLE_CATALOG &lt;span class="hljs-subst"&gt;==&lt;/span&gt; dbrole )
      {
         PMD_REGISTER_CB( sdbGetDPSCB() ) ;        &lt;span class="hljs-comment"&gt;// DPS&lt;/span&gt;
         PMD_REGISTER_CB( sdbGetTransCB() ) ;      &lt;span class="hljs-comment"&gt;// TRANS&lt;/span&gt;
         PMD_REGISTER_CB( sdbGetClsCB() ) ;        &lt;span class="hljs-comment"&gt;// CLS&lt;/span&gt;
         PMD_REGISTER_CB( sdbGetCatalogueCB() ) ;  &lt;span class="hljs-comment"&gt;// CATALOGUE&lt;/span&gt;
         PMD_REGISTER_CB( sdbGetBPSCB() ) ;        &lt;span class="hljs-comment"&gt;// BPS&lt;/span&gt;
         PMD_REGISTER_CB( sdbGetAuthCB() ) ;       &lt;span class="hljs-comment"&gt;// AUTH&lt;/span&gt;
      }
      &lt;span class="hljs-keyword"&gt;else&lt;/span&gt; &lt;span class="hljs-keyword"&gt;if&lt;/span&gt; ( SDB_ROLE_STANDALONE &lt;span class="hljs-subst"&gt;==&lt;/span&gt; dbrole )
      {
         PMD_REGISTER_CB( sdbGetDPSCB() ) ;        &lt;span class="hljs-comment"&gt;// DPS&lt;/span&gt;
         PMD_REGISTER_CB( sdbGetTransCB() ) ;      &lt;span class="hljs-comment"&gt;// TRANS&lt;/span&gt;
         PMD_REGISTER_CB( sdbGetBPSCB() ) ;        &lt;span class="hljs-comment"&gt;// BPS&lt;/span&gt;
      }
      &lt;span class="hljs-keyword"&gt;else&lt;/span&gt; &lt;span class="hljs-keyword"&gt;if&lt;/span&gt; ( SDB_ROLE_OM &lt;span class="hljs-subst"&gt;==&lt;/span&gt; dbrole )
      {
         PMD_REGISTER_CB( sdbGetDPSCB() ) ;        &lt;span class="hljs-comment"&gt;// DPS&lt;/span&gt;
         PMD_REGISTER_CB( sdbGetTransCB() ) ;      &lt;span class="hljs-comment"&gt;// TRANS&lt;/span&gt;
         PMD_REGISTER_CB( sdbGetBPSCB() ) ;        &lt;span class="hljs-comment"&gt;// BPS&lt;/span&gt;
         PMD_REGISTER_CB( sdbGetAuthCB() ) ;       &lt;span class="hljs-comment"&gt;// AUTH&lt;/span&gt;
         PMD_REGISTER_CB( sdbGetOMManager() ) ;    &lt;span class="hljs-comment"&gt;// OMSVC&lt;/span&gt;
      }

     &lt;span class="hljs-comment"&gt;//Data Management Service Control Block&lt;/span&gt;
     &lt;span class="hljs-comment"&gt;//This file contains code logic for data management control block, which is the metat// data information for DMS component. &lt;/span&gt;
     &lt;span class="hljs-comment"&gt;// 包括collection space等&lt;/span&gt;
      PMD_REGISTER_CB( sdbGetDMSCB() ) ;           &lt;span class="hljs-comment"&gt;// DMS&lt;/span&gt;
      &lt;span class="hljs-comment"&gt;// 和context相关，create和delete context&lt;/span&gt;
      PMD_REGISTER_CB( sdbGetRTNCB() ) ;           &lt;span class="hljs-comment"&gt;// RTN&lt;/span&gt;
      &lt;span class="hljs-comment"&gt;// SQL&lt;/span&gt;
      PMD_REGISTER_CB( sdbGetSQLCB() ) ;           &lt;span class="hljs-comment"&gt;// SQL&lt;/span&gt;
      &lt;span class="hljs-comment"&gt;// 集合&lt;/span&gt;
      PMD_REGISTER_CB( sdbGetAggrCB() ) ;          &lt;span class="hljs-comment"&gt;// AGGR&lt;/span&gt;
      &lt;span class="hljs-comment"&gt;//启动服务器/rest服务器/管理sessionInfo&lt;/span&gt;
      PMD_REGISTER_CB( sdbGetPMDController() ) ;   &lt;span class="hljs-comment"&gt;// CONTROLLER&lt;/span&gt;
   }
         </textarea>
        </div>
        <div class="crayon-main" style="">
         <table class="crayon-table">
          <tbody>
           <tr class="crayon-row">
            <td class="crayon-nums " data-settings="show">
             <div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;">
              <div class="crayon-num" data-line="crayon-5768537f6df7f453729861-1">
               1
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df7f453729861-2">
               2
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df7f453729861-3">
               3
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df7f453729861-4">
               4
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df7f453729861-5">
               5
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df7f453729861-6">
               6
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df7f453729861-7">
               7
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df7f453729861-8">
               8
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df7f453729861-9">
               9
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df7f453729861-10">
               10
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df7f453729861-11">
               11
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df7f453729861-12">
               12
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df7f453729861-13">
               13
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df7f453729861-14">
               14
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df7f453729861-15">
               15
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df7f453729861-16">
               16
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df7f453729861-17">
               17
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df7f453729861-18">
               18
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df7f453729861-19">
               19
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df7f453729861-20">
               20
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df7f453729861-21">
               21
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df7f453729861-22">
               22
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df7f453729861-23">
               23
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df7f453729861-24">
               24
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df7f453729861-25">
               25
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df7f453729861-26">
               26
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df7f453729861-27">
               27
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df7f453729861-28">
               28
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df7f453729861-29">
               29
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df7f453729861-30">
               30
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df7f453729861-31">
               31
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df7f453729861-32">
               32
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df7f453729861-33">
               33
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df7f453729861-34">
               34
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df7f453729861-35">
               35
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df7f453729861-36">
               36
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df7f453729861-37">
               37
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df7f453729861-38">
               38
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df7f453729861-39">
               39
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df7f453729861-40">
               40
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df7f453729861-41">
               41
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df7f453729861-42">
               42
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df7f453729861-43">
               43
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df7f453729861-44">
               44
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df7f453729861-45">
               45
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df7f453729861-46">
               46
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df7f453729861-47">
               47
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df7f453729861-48">
               48
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df7f453729861-49">
               49
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df7f453729861-50">
               50
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df7f453729861-51">
               51
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df7f453729861-52">
               52
              </div>
             </div>
            </td>
            <td class="crayon-code">
             <div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;">
              <div class="crayon-line" id="crayon-5768537f6df7f453729861-1">
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-literal"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-t">
                void
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                _pmdController
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-tag"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-o">
                ::
               </span>
               <span class="crayon-v">
                registerCB
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                SDB_ROLE
               </span>
               <span class="crayon-i">
                dbrole
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                )
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df7f453729861-2">
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                {
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df7f453729861-3">
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-keyword"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-st">
                if
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                SDB_ROLE_DATA
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-subst"
               </span>
               <span class="crayon-o">
                &gt;=
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-i">
                dbrole
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                )
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df7f453729861-4">
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                {
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df7f453729861-5">
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                PMD_REGISTER_CB
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                sdbGetDPSCB
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                ;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-comment"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-c">
                // DPS&lt;/span&gt;
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df7f453729861-6">
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                PMD_REGISTER_CB
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                sdbGetTransCB
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                ;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-comment"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-c">
                // TRANS&lt;/span&gt;
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df7f453729861-7">
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                PMD_REGISTER_CB
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                sdbGetClsCB
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                ;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-comment"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-c">
                // CLS&lt;/span&gt;
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df7f453729861-8">
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                PMD_REGISTER_CB
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                sdbGetBPSCB
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                ;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-comment"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-c">
                // BPS&lt;/span&gt;
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df7f453729861-9">
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                }
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df7f453729861-10">
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-keyword"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-st">
                else
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-keyword"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-st">
                if
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                SDB_ROLE_COORD
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-subst"
               </span>
               <span class="crayon-o">
                &gt;=
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-i">
                dbrole
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                )
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df7f453729861-11">
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                {
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df7f453729861-12">
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                PMD_REGISTER_CB
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                sdbGetTransCB
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                ;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-comment"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-c">
                // TRANS&lt;/span&gt;
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df7f453729861-13">
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                PMD_REGISTER_CB
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                sdbGetCoordCB
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                ;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-comment"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-c">
                // COORD&lt;/span&gt;
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df7f453729861-14">
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                PMD_REGISTER_CB
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                sdbGetFMPCB
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                ;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-comment"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-c">
                // FMP&lt;/span&gt;
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df7f453729861-15">
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                }
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df7f453729861-16">
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-keyword"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-st">
                else
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-keyword"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-st">
                if
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                SDB_ROLE_CATALOG
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-subst"
               </span>
               <span class="crayon-o">
                &gt;=
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-i">
                dbrole
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                )
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df7f453729861-17">
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                {
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df7f453729861-18">
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                PMD_REGISTER_CB
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                sdbGetDPSCB
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                ;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-comment"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-c">
                // DPS&lt;/span&gt;
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df7f453729861-19">
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                PMD_REGISTER_CB
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                sdbGetTransCB
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                ;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-comment"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-c">
                // TRANS&lt;/span&gt;
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df7f453729861-20">
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                PMD_REGISTER_CB
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                sdbGetClsCB
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                ;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-comment"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-c">
                // CLS&lt;/span&gt;
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df7f453729861-21">
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                PMD_REGISTER_CB
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                sdbGetCatalogueCB
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                ;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-comment"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-c">
                // CATALOGUE&lt;/span&gt;
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df7f453729861-22">
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                PMD_REGISTER_CB
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                sdbGetBPSCB
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                ;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-comment"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-c">
                // BPS&lt;/span&gt;
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df7f453729861-23">
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                PMD_REGISTER_CB
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                sdbGetAuthCB
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                ;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-comment"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-c">
                // AUTH&lt;/span&gt;
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df7f453729861-24">
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                }
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df7f453729861-25">
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-keyword"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-st">
                else
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-keyword"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-st">
                if
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                SDB_ROLE_STANDALONE
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-subst"
               </span>
               <span class="crayon-o">
                &gt;=
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-i">
                dbrole
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                )
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df7f453729861-26">
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                {
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df7f453729861-27">
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                PMD_REGISTER_CB
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                sdbGetDPSCB
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                ;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-comment"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-c">
                // DPS&lt;/span&gt;
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df7f453729861-28">
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                PMD_REGISTER_CB
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                sdbGetTransCB
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                ;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-comment"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-c">
                // TRANS&lt;/span&gt;
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df7f453729861-29">
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                PMD_REGISTER_CB
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                sdbGetBPSCB
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                ;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-comment"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-c">
                // BPS&lt;/span&gt;
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df7f453729861-30">
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                }
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df7f453729861-31">
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-keyword"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-st">
                else
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-keyword"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-st">
                if
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                SDB_ROLE_OM
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-subst"
               </span>
               <span class="crayon-o">
                &gt;=
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-i">
                dbrole
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                )
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df7f453729861-32">
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                {
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df7f453729861-33">
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                PMD_REGISTER_CB
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                sdbGetDPSCB
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                ;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-comment"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-c">
                // DPS&lt;/span&gt;
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df7f453729861-34">
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                PMD_REGISTER_CB
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                sdbGetTransCB
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                ;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-comment"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-c">
                // TRANS&lt;/span&gt;
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df7f453729861-35">
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                PMD_REGISTER_CB
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                sdbGetBPSCB
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                ;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-comment"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-c">
                // BPS&lt;/span&gt;
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df7f453729861-36">
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                PMD_REGISTER_CB
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                sdbGetAuthCB
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                ;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-comment"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-c">
                // AUTH&lt;/span&gt;
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df7f453729861-37">
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                PMD_REGISTER_CB
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                sdbGetOMManager
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                ;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-comment"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-c">
                // OMSVC&lt;/span&gt;
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df7f453729861-38">
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                }
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df7f453729861-39">
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df7f453729861-40">
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-comment"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-c">
                //Data Management Service Control Block&lt;/span&gt;
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df7f453729861-41">
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-comment"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-c">
                //This file contains code logic for data management control block, which is the metat// data information for DMS component. &lt;/span&gt;
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df7f453729861-42">
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-comment"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-c">
                // 包括collection space等&lt;/span&gt;
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df7f453729861-43">
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                PMD_REGISTER_CB
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                sdbGetDMSCB
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                ;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-comment"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-c">
                // DMS&lt;/span&gt;
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df7f453729861-44">
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-comment"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-c">
                // 和context相关，create和delete context&lt;/span&gt;
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df7f453729861-45">
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                PMD_REGISTER_CB
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                sdbGetRTNCB
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                ;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-comment"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-c">
                // RTN&lt;/span&gt;
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df7f453729861-46">
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-comment"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-c">
                // SQL&lt;/span&gt;
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df7f453729861-47">
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                PMD_REGISTER_CB
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                sdbGetSQLCB
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                ;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-comment"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-c">
                // SQL&lt;/span&gt;
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df7f453729861-48">
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-comment"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-c">
                // 集合&lt;/span&gt;
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df7f453729861-49">
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                PMD_REGISTER_CB
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                sdbGetAggrCB
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                ;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-comment"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-c">
                // AGGR&lt;/span&gt;
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df7f453729861-50">
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-comment"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-c">
                //启动服务器/rest服务器/管理sessionInfo&lt;/span&gt;
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df7f453729861-51">
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                PMD_REGISTER_CB
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                sdbGetPMDController
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                ;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-comment"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-c">
                // CONTROLLER&lt;/span&gt;
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df7f453729861-52">
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                }
               </span>
              </div>
             </div>
            </td>
           </tr>
          </tbody>
         </table>
        </div>
       </div>
       <!-- [Format Time: 0.0281 seconds] -->
       <p>
       </p>
       <h3 id="edu">
        <p name="t19">
        </p>
        可调度单元（EDU）
       </h3>
       <p>
        对于不同的EDU有不同的入口函数，比如监听一个端口的做法就是
       </p>
       <!-- Crayon Syntax Highlighter v_2.7.2_beta -->
       <div class="crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover" id="crayon-5768537f6df8a675094031" style=" margin-top: 12px; margin-bottom: 12px; font-size: 12px !important; line-height: 15px !important;">
        <div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">
         <span class="crayon-title">
         </span>
         <div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">
          <div class="crayon-button crayon-nums-button" title="切换是否显示行编号">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-plain-button" title="纯文本显示代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-wrap-button" title="切换自动换行">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-expand-button" title="点击展开代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-copy-button" title="复制代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-popup-button" title="在新窗口中显示代码">
           <div class="crayon-button-icon">
           </div>
          </div>
         </div>
        </div>
        <div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;">
        </div>
        <div class="crayon-plain-wrap">
         <textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;" wrap="soft">
          rc &lt;span class="hljs-subst"&gt;=&lt;/span&gt; pEDUMgr&lt;span class="hljs-subst"&gt;-&amp;gt;&lt;/span&gt;startEDU( EDU_TYPE_TCPLISTENER, (&lt;span class="hljs-literal"&gt;void&lt;/span&gt;&lt;span class="hljs-subst"&gt;*&lt;/span&gt;)_pTcpListener,
                              &lt;span class="hljs-subst"&gt;&amp;amp;&lt;/span&gt;eduID ) ;
         </textarea>
        </div>
        <div class="crayon-main" style="">
         <table class="crayon-table">
          <tbody>
           <tr class="crayon-row">
            <td class="crayon-nums " data-settings="show">
             <div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;">
              <div class="crayon-num" data-line="crayon-5768537f6df8a675094031-1">
               1
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df8a675094031-2">
               2
              </div>
             </div>
            </td>
            <td class="crayon-code">
             <div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;">
              <div class="crayon-line" id="crayon-5768537f6df8a675094031-1">
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                rc
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-subst"
               </span>
               <span class="crayon-o">
                &gt;=
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                pEDUMgr
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-subst"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-o">
                -
               </span>
               <span class="crayon-o">
                &amp;
               </span>
               <span class="crayon-v">
                gt
               </span>
               <span class="crayon-sy">
                ;
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-e">
                startEDU
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                EDU_TYPE_TCPLISTENER
               </span>
               <span class="crayon-sy">
                ,
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-literal"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-t">
                void
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-subst"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-o">
                *
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-v">
                _pTcpListener
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df8a675094031-2">
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-subst"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-o">
                &amp;
               </span>
               <span class="crayon-v">
                amp
               </span>
               <span class="crayon-sy">
                ;
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-i">
                eduID
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                ;
               </span>
              </div>
             </div>
            </td>
           </tr>
          </tbody>
         </table>
        </div>
       </div>
       <!-- [Format Time: 0.0030 seconds] -->
       <p>
        其定义为：
       </p>
       <!-- Crayon Syntax Highlighter v_2.7.2_beta -->
       <div class="crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover" id="crayon-5768537f6df91956348012" style=" margin-top: 12px; margin-bottom: 12px; font-size: 12px !important; line-height: 15px !important;">
        <div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">
         <span class="crayon-title">
         </span>
         <div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">
          <div class="crayon-button crayon-nums-button" title="切换是否显示行编号">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-plain-button" title="纯文本显示代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-wrap-button" title="切换自动换行">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-expand-button" title="点击展开代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-copy-button" title="复制代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-popup-button" title="在新窗口中显示代码">
           <div class="crayon-button-icon">
           </div>
          </div>
         </div>
        </div>
        <div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;">
        </div>
        <div class="crayon-plain-wrap">
         <textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;" wrap="soft">
          // 根据&lt;span class="hljs-typedef"&gt;&lt;span class="hljs-keyword"&gt;type&lt;/span&gt;，启动一个线程（实际比这个复杂），把参数传递进去，并把eduid返回&lt;/span&gt;
   &lt;span class="hljs-type"&gt;INT32&lt;/span&gt; _pmdEDUMgr::startEDU ( &lt;span class="hljs-type"&gt;EDU_TYPES&lt;/span&gt; &lt;span class="hljs-typedef"&gt;&lt;span class="hljs-keyword"&gt;type&lt;/span&gt;, void* arg, &lt;span class="hljs-type"&gt;EDUID&lt;/span&gt; *eduid )&lt;/span&gt;
         </textarea>
        </div>
        <div class="crayon-main" style="">
         <table class="crayon-table">
          <tbody>
           <tr class="crayon-row">
            <td class="crayon-nums " data-settings="show">
             <div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;">
              <div class="crayon-num" data-line="crayon-5768537f6df91956348012-1">
               1
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df91956348012-2">
               2
              </div>
             </div>
            </td>
            <td class="crayon-code">
             <div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;">
              <div class="crayon-line" id="crayon-5768537f6df91956348012-1">
               <span class="crayon-h">
               </span>
               <span class="crayon-c">
                // 根据&lt;span class="hljs-typedef"&gt;&lt;span class="hljs-keyword"&gt;type&lt;/span&gt;，启动一个线程（实际比这个复杂），把参数传递进去，并把eduid返回&lt;/span&gt;
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df91956348012-2">
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-type"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-v">
                INT32
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                _pmdEDUMgr
               </span>
               <span class="crayon-o">
                ::
               </span>
               <span class="crayon-e">
                startEDU
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-type"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-v">
                EDU_TYPES
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-typedef"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-keyword"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-v">
                type
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-sy">
                ,
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-t">
                void
               </span>
               <span class="crayon-o">
                *
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                arg
               </span>
               <span class="crayon-sy">
                ,
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-type"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-v">
                EDUID
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                *
               </span>
               <span class="crayon-i">
                eduid
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
              </div>
             </div>
            </td>
           </tr>
          </tbody>
         </table>
        </div>
       </div>
       <!-- [Format Time: 0.0030 seconds] -->
       <p>
        系统会在启动一个线程，并调用pmdTcpListenerEntryPoint函数。
       </p>
       <!-- Crayon Syntax Highlighter v_2.7.2_beta -->
       <div class="crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover" id="crayon-5768537f6df98712142406" style=" margin-top: 12px; margin-bottom: 12px; font-size: 12px !important; line-height: 15px !important;">
        <div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">
         <span class="crayon-title">
         </span>
         <div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">
          <div class="crayon-button crayon-nums-button" title="切换是否显示行编号">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-plain-button" title="纯文本显示代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-wrap-button" title="切换自动换行">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-expand-button" title="点击展开代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-copy-button" title="复制代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-popup-button" title="在新窗口中显示代码">
           <div class="crayon-button-icon">
           </div>
          </div>
         </div>
        </div>
        <div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;">
        </div>
        <div class="crayon-plain-wrap">
         <textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;" wrap="soft">
          &lt;span class="hljs-keyword"&gt;static&lt;/span&gt; &lt;span class="hljs-keyword"&gt;const&lt;/span&gt; _eduEntryInfo entry[] = {
         ON_EDUTYPE_TO_ENTRY1 ( EDU_TYPE_SHARDAGENT, &lt;span class="hljs-keyword"&gt;FALSE&lt;/span&gt;,
                                pmdAsyncSessionAgentEntryPoint,
                                &lt;span class="hljs-string"&gt;"ShardAgent"&lt;/span&gt; ),
         ON_EDUTYPE_TO_ENTRY1 ( EDU_TYPE_COORDAGENT, &lt;span class="hljs-keyword"&gt;FALSE&lt;/span&gt;,
                                pmdAgentEntryPoint,
                                &lt;span class="hljs-string"&gt;"CoordAgent"&lt;/span&gt; ),
         &lt;span class="hljs-comment"&gt;// 最终调用_pmdDataProcessor::processMsg处理每条,顺便提一句这里有所有命令的列表&lt;/span&gt;
         ON_EDUTYPE_TO_ENTRY1 ( EDU_TYPE_AGENT, &lt;span class="hljs-keyword"&gt;FALSE&lt;/span&gt;,
                                pmdLocalAgentEntryPoint,
                                &lt;span class="hljs-string"&gt;"Agent"&lt;/span&gt; ),
         ON_EDUTYPE_TO_ENTRY1 ( EDU_TYPE_REPLAGENT, &lt;span class="hljs-keyword"&gt;FALSE&lt;/span&gt;,
                                pmdAsyncSessionAgentEntryPoint,
                                &lt;span class="hljs-string"&gt;"ReplAgent"&lt;/span&gt; ),
         ON_EDUTYPE_TO_ENTRY1 ( EDU_TYPE_HTTPAGENT, &lt;span class="hljs-keyword"&gt;FALSE&lt;/span&gt;,
                                pmdHTTPAgentEntryPoint,
                                &lt;span class="hljs-string"&gt;"HTTPAgent"&lt;/span&gt; ),
         ON_EDUTYPE_TO_ENTRY1 ( EDU_TYPE_RESTAGENT, &lt;span class="hljs-keyword"&gt;FALSE&lt;/span&gt;,
                                pmdRestAgentEntryPoint,
                                &lt;span class="hljs-string"&gt;"RestAgent"&lt;/span&gt; ),
        &lt;span class="hljs-comment"&gt;// 端口监听&lt;/span&gt;
         ON_EDUTYPE_TO_ENTRY1 ( EDU_TYPE_TCPLISTENER, &lt;span class="hljs-keyword"&gt;TRUE&lt;/span&gt;,
                                pmdTcpListenerEntryPoint,
                                &lt;span class="hljs-string"&gt;"TCPListener"&lt;/span&gt; ),
        &lt;span class="hljs-comment"&gt;// rest监听&lt;/span&gt;
         ON_EDUTYPE_TO_ENTRY1 ( EDU_TYPE_RESTLISTENER, &lt;span class="hljs-keyword"&gt;TRUE&lt;/span&gt;,
                                pmdRestSvcEntryPoint,
                                &lt;span class="hljs-string"&gt;"RestListener"&lt;/span&gt; ),
         ON_EDUTYPE_TO_ENTRY1 ( EDU_TYPE_CLUSTER, &lt;span class="hljs-keyword"&gt;TRUE&lt;/span&gt;,
                                pmdCBMgrEntryPoint,
                                &lt;span class="hljs-string"&gt;"Cluster"&lt;/span&gt; ),
         ON_EDUTYPE_TO_ENTRY1 ( EDU_TYPE_CLUSTERSHARD, &lt;span class="hljs-keyword"&gt;TRUE&lt;/span&gt;,
                                pmdCBMgrEntryPoint,
                                &lt;span class="hljs-string"&gt;"ClusterShard"&lt;/span&gt; ),
         ON_EDUTYPE_TO_ENTRY1 ( EDU_TYPE_CLSLOGNTY, &lt;span class="hljs-keyword"&gt;TRUE&lt;/span&gt;,
                                pmdClsNtyEntryPoint,
                                &lt;span class="hljs-string"&gt;"ClusterLogNotify"&lt;/span&gt; ),
         ON_EDUTYPE_TO_ENTRY1 ( EDU_TYPE_REPR, &lt;span class="hljs-keyword"&gt;TRUE&lt;/span&gt;,
                                pmdAsyncNetEntryPoint,
                                &lt;span class="hljs-string"&gt;"ReplReader"&lt;/span&gt; ),
         ON_EDUTYPE_TO_ENTRY1 ( EDU_TYPE_LOGGW, &lt;span class="hljs-keyword"&gt;TRUE&lt;/span&gt;,
                                pmdLoggWEntryPoint,
                                &lt;span class="hljs-string"&gt;"LogWriter"&lt;/span&gt; ),
         ON_EDUTYPE_TO_ENTRY1 ( EDU_TYPE_SHARDR, &lt;span class="hljs-keyword"&gt;TRUE&lt;/span&gt;,
                                pmdAsyncNetEntryPoint,
                                &lt;span class="hljs-string"&gt;"ShardReader"&lt;/span&gt; ),
         ON_EDUTYPE_TO_ENTRY1 ( EDU_TYPE_PIPESLISTENER, &lt;span class="hljs-keyword"&gt;TRUE&lt;/span&gt;,
                                pmdPipeListenerEntryPoint,
                                &lt;span class="hljs-string"&gt;"PipeListener"&lt;/span&gt; ),
         ON_EDUTYPE_TO_ENTRY1 ( EDU_TYPE_BACKGROUND_JOB, &lt;span class="hljs-keyword"&gt;FALSE&lt;/span&gt;,
                                pmdBackgroundJobEntryPoint,
                                &lt;span class="hljs-string"&gt;"Task"&lt;/span&gt; ),

         ON_EDUTYPE_TO_ENTRY1 ( EDU_TYPE_CATMAINCONTROLLER, &lt;span class="hljs-keyword"&gt;TRUE&lt;/span&gt;,
                                pmdCBMgrEntryPoint,
                                &lt;span class="hljs-string"&gt;"CatalogMC"&lt;/span&gt; ),
         ON_EDUTYPE_TO_ENTRY1 ( EDU_TYPE_CATNODEMANAGER, &lt;span class="hljs-keyword"&gt;TRUE&lt;/span&gt;,
                                pmdCBMgrEntryPoint,
                                &lt;span class="hljs-string"&gt;"CatalogNM"&lt;/span&gt; ),
         ON_EDUTYPE_TO_ENTRY1 ( EDU_TYPE_CATCATALOGUEMANAGER, &lt;span class="hljs-keyword"&gt;TRUE&lt;/span&gt;,
                                pmdCBMgrEntryPoint,
                                &lt;span class="hljs-string"&gt;"CatalogManager"&lt;/span&gt; ),
         ON_EDUTYPE_TO_ENTRY1 ( EDU_TYPE_CATNETWORK, &lt;span class="hljs-keyword"&gt;TRUE&lt;/span&gt;,
                                pmdAsyncNetEntryPoint,
                                &lt;span class="hljs-string"&gt;"CatalogNetwork"&lt;/span&gt; ),
         ON_EDUTYPE_TO_ENTRY1 ( EDU_TYPE_COORDNETWORK, &lt;span class="hljs-keyword"&gt;TRUE&lt;/span&gt;,
                                pmdCoordNetWorkEntryPoint,
                                &lt;span class="hljs-string"&gt;"CoordNetwork"&lt;/span&gt; ),
         ON_EDUTYPE_TO_ENTRY1 ( EDU_TYPE_DPSROLLBACK, &lt;span class="hljs-keyword"&gt;TRUE&lt;/span&gt;,
                                pmdDpsTransRollbackEntryPoint,
                                &lt;span class="hljs-string"&gt;"DpsRollback"&lt;/span&gt;),
         ON_EDUTYPE_TO_ENTRY1 ( EDU_TYPE_LOADWORKER, &lt;span class="hljs-keyword"&gt;FALSE&lt;/span&gt;,
                                pmdLoadWorkerEntryPoint,
                                &lt;span class="hljs-string"&gt;"MigLoadWork"&lt;/span&gt; ),
         ON_EDUTYPE_TO_ENTRY1 ( EDU_TYPE_PREFETCHER, &lt;span class="hljs-keyword"&gt;FALSE&lt;/span&gt;,
                                pmdPreLoaderEntryPoint,
                                &lt;span class="hljs-string"&gt;"PreLoader"&lt;/span&gt; ),
         ON_EDUTYPE_TO_ENTRY1 ( EDU_TYPE_OMMGR, &lt;span class="hljs-keyword"&gt;TRUE&lt;/span&gt;,
                                pmdCBMgrEntryPoint,
                                &lt;span class="hljs-string"&gt;"OMManager"&lt;/span&gt; ),
         ON_EDUTYPE_TO_ENTRY1 ( EDU_TYPE_OMNET, &lt;span class="hljs-keyword"&gt;TRUE&lt;/span&gt;,
                                pmdAsyncNetEntryPoint,
                                &lt;span class="hljs-string"&gt;"OMNet"&lt;/span&gt; ),
         ON_EDUTYPE_TO_ENTRY1 ( EDU_TYPE_SYNCCLOCK, &lt;span class="hljs-keyword"&gt;TRUE&lt;/span&gt;,
                                pmdSyncClockEntryPoint,
                                &lt;span class="hljs-string"&gt;"SyncClockWorker"&lt;/span&gt; ),

         ON_EDUTYPE_TO_ENTRY1 ( EDU_TYPE_MAXIMUM, &lt;span class="hljs-keyword"&gt;FALSE&lt;/span&gt;,
                                &lt;span class="hljs-keyword"&gt;NULL&lt;/span&gt;,
                                &lt;span class="hljs-string"&gt;"Unknow"&lt;/span&gt; )
      };
         </textarea>
        </div>
        <div class="crayon-main" style="">
         <table class="crayon-table">
          <tbody>
           <tr class="crayon-row">
            <td class="crayon-nums " data-settings="show">
             <div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;">
              <div class="crayon-num" data-line="crayon-5768537f6df98712142406-1">
               1
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df98712142406-2">
               2
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df98712142406-3">
               3
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df98712142406-4">
               4
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df98712142406-5">
               5
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df98712142406-6">
               6
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df98712142406-7">
               7
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df98712142406-8">
               8
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df98712142406-9">
               9
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df98712142406-10">
               10
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df98712142406-11">
               11
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df98712142406-12">
               12
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df98712142406-13">
               13
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df98712142406-14">
               14
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df98712142406-15">
               15
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df98712142406-16">
               16
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df98712142406-17">
               17
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df98712142406-18">
               18
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df98712142406-19">
               19
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df98712142406-20">
               20
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df98712142406-21">
               21
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df98712142406-22">
               22
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df98712142406-23">
               23
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df98712142406-24">
               24
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df98712142406-25">
               25
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df98712142406-26">
               26
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df98712142406-27">
               27
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df98712142406-28">
               28
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df98712142406-29">
               29
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df98712142406-30">
               30
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df98712142406-31">
               31
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df98712142406-32">
               32
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df98712142406-33">
               33
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df98712142406-34">
               34
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df98712142406-35">
               35
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df98712142406-36">
               36
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df98712142406-37">
               37
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df98712142406-38">
               38
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df98712142406-39">
               39
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df98712142406-40">
               40
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df98712142406-41">
               41
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df98712142406-42">
               42
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df98712142406-43">
               43
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df98712142406-44">
               44
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df98712142406-45">
               45
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df98712142406-46">
               46
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df98712142406-47">
               47
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df98712142406-48">
               48
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df98712142406-49">
               49
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df98712142406-50">
               50
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df98712142406-51">
               51
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df98712142406-52">
               52
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df98712142406-53">
               53
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df98712142406-54">
               54
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df98712142406-55">
               55
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df98712142406-56">
               56
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df98712142406-57">
               57
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df98712142406-58">
               58
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df98712142406-59">
               59
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df98712142406-60">
               60
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df98712142406-61">
               61
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df98712142406-62">
               62
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df98712142406-63">
               63
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df98712142406-64">
               64
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df98712142406-65">
               65
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df98712142406-66">
               66
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df98712142406-67">
               67
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df98712142406-68">
               68
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df98712142406-69">
               69
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df98712142406-70">
               70
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df98712142406-71">
               71
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df98712142406-72">
               72
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df98712142406-73">
               73
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df98712142406-74">
               74
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df98712142406-75">
               75
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df98712142406-76">
               76
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df98712142406-77">
               77
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df98712142406-78">
               78
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df98712142406-79">
               79
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df98712142406-80">
               80
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df98712142406-81">
               81
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df98712142406-82">
               82
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df98712142406-83">
               83
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df98712142406-84">
               84
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df98712142406-85">
               85
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df98712142406-86">
               86
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df98712142406-87">
               87
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df98712142406-88">
               88
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df98712142406-89">
               89
              </div>
              <div class="crayon-num crayon-striped-num" data-line="crayon-5768537f6df98712142406-90">
               90
              </div>
              <div class="crayon-num" data-line="crayon-5768537f6df98712142406-91">
               91
              </div>
             </div>
            </td>
            <td class="crayon-code">
             <div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;">
              <div class="crayon-line" id="crayon-5768537f6df98712142406-1">
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-keyword"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-m">
                static
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-keyword"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-m">
                const
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                _eduEntryInfo
               </span>
               <span class="crayon-v">
                entry
               </span>
               <span class="crayon-sy">
                [
               </span>
               <span class="crayon-sy">
                ]
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                {
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df98712142406-2">
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                ON_EDUTYPE_TO_ENTRY1
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                EDU_TYPE_SHARDAGENT
               </span>
               <span class="crayon-sy">
                ,
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-keyword"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-t">
                FALSE
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df98712142406-3">
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                pmdAsyncSessionAgentEntryPoint
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df98712142406-4">
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-string"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-s">
                "ShardAgent"
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df98712142406-5">
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                ON_EDUTYPE_TO_ENTRY1
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                EDU_TYPE_COORDAGENT
               </span>
               <span class="crayon-sy">
                ,
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-keyword"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-t">
                FALSE
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df98712142406-6">
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                pmdAgentEntryPoint
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df98712142406-7">
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-string"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-s">
                "CoordAgent"
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df98712142406-8">
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-comment"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-c">
                // 最终调用_pmdDataProcessor::processMsg处理每条,顺便提一句这里有所有命令的列表&lt;/span&gt;
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df98712142406-9">
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                ON_EDUTYPE_TO_ENTRY1
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                EDU_TYPE_AGENT
               </span>
               <span class="crayon-sy">
                ,
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-keyword"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-t">
                FALSE
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df98712142406-10">
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                pmdLocalAgentEntryPoint
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df98712142406-11">
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-string"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-s">
                "Agent"
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df98712142406-12">
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                ON_EDUTYPE_TO_ENTRY1
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                EDU_TYPE_REPLAGENT
               </span>
               <span class="crayon-sy">
                ,
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-keyword"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-t">
                FALSE
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df98712142406-13">
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                pmdAsyncSessionAgentEntryPoint
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df98712142406-14">
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-string"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-s">
                "ReplAgent"
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df98712142406-15">
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                ON_EDUTYPE_TO_ENTRY1
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                EDU_TYPE_HTTPAGENT
               </span>
               <span class="crayon-sy">
                ,
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-keyword"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-t">
                FALSE
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df98712142406-16">
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                pmdHTTPAgentEntryPoint
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df98712142406-17">
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-string"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-s">
                "HTTPAgent"
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df98712142406-18">
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                ON_EDUTYPE_TO_ENTRY1
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                EDU_TYPE_RESTAGENT
               </span>
               <span class="crayon-sy">
                ,
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-keyword"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-t">
                FALSE
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df98712142406-19">
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                pmdRestAgentEntryPoint
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df98712142406-20">
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-string"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-s">
                "RestAgent"
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df98712142406-21">
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-comment"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-c">
                // 端口监听&lt;/span&gt;
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df98712142406-22">
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                ON_EDUTYPE_TO_ENTRY1
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                EDU_TYPE_TCPLISTENER
               </span>
               <span class="crayon-sy">
                ,
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-keyword"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-t">
                TRUE
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df98712142406-23">
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                pmdTcpListenerEntryPoint
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df98712142406-24">
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-string"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-s">
                "TCPListener"
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df98712142406-25">
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-comment"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-c">
                // rest监听&lt;/span&gt;
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df98712142406-26">
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                ON_EDUTYPE_TO_ENTRY1
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                EDU_TYPE_RESTLISTENER
               </span>
               <span class="crayon-sy">
                ,
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-keyword"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-t">
                TRUE
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df98712142406-27">
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                pmdRestSvcEntryPoint
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df98712142406-28">
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-string"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-s">
                "RestListener"
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df98712142406-29">
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                ON_EDUTYPE_TO_ENTRY1
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                EDU_TYPE_CLUSTER
               </span>
               <span class="crayon-sy">
                ,
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-keyword"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-t">
                TRUE
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df98712142406-30">
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                pmdCBMgrEntryPoint
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df98712142406-31">
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-string"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-s">
                "Cluster"
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df98712142406-32">
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                ON_EDUTYPE_TO_ENTRY1
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                EDU_TYPE_CLUSTERSHARD
               </span>
               <span class="crayon-sy">
                ,
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-keyword"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-t">
                TRUE
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df98712142406-33">
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                pmdCBMgrEntryPoint
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df98712142406-34">
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-string"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-s">
                "ClusterShard"
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df98712142406-35">
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                ON_EDUTYPE_TO_ENTRY1
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                EDU_TYPE_CLSLOGNTY
               </span>
               <span class="crayon-sy">
                ,
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-keyword"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-t">
                TRUE
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df98712142406-36">
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                pmdClsNtyEntryPoint
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df98712142406-37">
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-string"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-s">
                "ClusterLogNotify"
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df98712142406-38">
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                ON_EDUTYPE_TO_ENTRY1
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                EDU_TYPE_REPR
               </span>
               <span class="crayon-sy">
                ,
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-keyword"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-t">
                TRUE
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df98712142406-39">
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                pmdAsyncNetEntryPoint
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df98712142406-40">
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-string"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-s">
                "ReplReader"
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df98712142406-41">
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                ON_EDUTYPE_TO_ENTRY1
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                EDU_TYPE_LOGGW
               </span>
               <span class="crayon-sy">
                ,
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-keyword"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-t">
                TRUE
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df98712142406-42">
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                pmdLoggWEntryPoint
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df98712142406-43">
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-string"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-s">
                "LogWriter"
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df98712142406-44">
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                ON_EDUTYPE_TO_ENTRY1
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                EDU_TYPE_SHARDR
               </span>
               <span class="crayon-sy">
                ,
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-keyword"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-t">
                TRUE
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df98712142406-45">
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                pmdAsyncNetEntryPoint
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df98712142406-46">
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-string"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-s">
                "ShardReader"
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df98712142406-47">
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                ON_EDUTYPE_TO_ENTRY1
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                EDU_TYPE_PIPESLISTENER
               </span>
               <span class="crayon-sy">
                ,
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-keyword"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-t">
                TRUE
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df98712142406-48">
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                pmdPipeListenerEntryPoint
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df98712142406-49">
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-string"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-s">
                "PipeListener"
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df98712142406-50">
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                ON_EDUTYPE_TO_ENTRY1
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                EDU_TYPE_BACKGROUND_JOB
               </span>
               <span class="crayon-sy">
                ,
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-keyword"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-t">
                FALSE
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df98712142406-51">
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                pmdBackgroundJobEntryPoint
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df98712142406-52">
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-string"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-s">
                "Task"
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df98712142406-53">
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df98712142406-54">
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                ON_EDUTYPE_TO_ENTRY1
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                EDU_TYPE_CATMAINCONTROLLER
               </span>
               <span class="crayon-sy">
                ,
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-keyword"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-t">
                TRUE
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df98712142406-55">
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                pmdCBMgrEntryPoint
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df98712142406-56">
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-string"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-s">
                "CatalogMC"
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df98712142406-57">
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                ON_EDUTYPE_TO_ENTRY1
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                EDU_TYPE_CATNODEMANAGER
               </span>
               <span class="crayon-sy">
                ,
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-keyword"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-t">
                TRUE
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df98712142406-58">
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                pmdCBMgrEntryPoint
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df98712142406-59">
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-string"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-s">
                "CatalogNM"
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df98712142406-60">
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                ON_EDUTYPE_TO_ENTRY1
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                EDU_TYPE_CATCATALOGUEMANAGER
               </span>
               <span class="crayon-sy">
                ,
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-keyword"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-t">
                TRUE
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df98712142406-61">
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                pmdCBMgrEntryPoint
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df98712142406-62">
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-string"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-s">
                "CatalogManager"
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df98712142406-63">
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                ON_EDUTYPE_TO_ENTRY1
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                EDU_TYPE_CATNETWORK
               </span>
               <span class="crayon-sy">
                ,
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-keyword"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-t">
                TRUE
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df98712142406-64">
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                pmdAsyncNetEntryPoint
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df98712142406-65">
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-string"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-s">
                "CatalogNetwork"
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df98712142406-66">
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                ON_EDUTYPE_TO_ENTRY1
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                EDU_TYPE_COORDNETWORK
               </span>
               <span class="crayon-sy">
                ,
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-keyword"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-t">
                TRUE
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df98712142406-67">
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                pmdCoordNetWorkEntryPoint
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df98712142406-68">
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-string"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-s">
                "CoordNetwork"
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df98712142406-69">
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                ON_EDUTYPE_TO_ENTRY1
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                EDU_TYPE_DPSROLLBACK
               </span>
               <span class="crayon-sy">
                ,
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-keyword"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-t">
                TRUE
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df98712142406-70">
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                pmdDpsTransRollbackEntryPoint
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df98712142406-71">
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-string"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-s">
                "DpsRollback"
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df98712142406-72">
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                ON_EDUTYPE_TO_ENTRY1
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                EDU_TYPE_LOADWORKER
               </span>
               <span class="crayon-sy">
                ,
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-keyword"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-t">
                FALSE
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df98712142406-73">
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                pmdLoadWorkerEntryPoint
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df98712142406-74">
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-string"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-s">
                "MigLoadWork"
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df98712142406-75">
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                ON_EDUTYPE_TO_ENTRY1
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                EDU_TYPE_PREFETCHER
               </span>
               <span class="crayon-sy">
                ,
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-keyword"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-t">
                FALSE
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df98712142406-76">
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                pmdPreLoaderEntryPoint
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df98712142406-77">
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-string"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-s">
                "PreLoader"
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df98712142406-78">
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                ON_EDUTYPE_TO_ENTRY1
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                EDU_TYPE_OMMGR
               </span>
               <span class="crayon-sy">
                ,
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-keyword"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-t">
                TRUE
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df98712142406-79">
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                pmdCBMgrEntryPoint
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df98712142406-80">
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-string"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-s">
                "OMManager"
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df98712142406-81">
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                ON_EDUTYPE_TO_ENTRY1
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                EDU_TYPE_OMNET
               </span>
               <span class="crayon-sy">
                ,
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-keyword"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-t">
                TRUE
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df98712142406-82">
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                pmdAsyncNetEntryPoint
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df98712142406-83">
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-string"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-s">
                "OMNet"
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df98712142406-84">
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                ON_EDUTYPE_TO_ENTRY1
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                EDU_TYPE_SYNCCLOCK
               </span>
               <span class="crayon-sy">
                ,
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-keyword"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-t">
                TRUE
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df98712142406-85">
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                pmdSyncClockEntryPoint
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df98712142406-86">
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-string"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-s">
                "SyncClockWorker"
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                )
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df98712142406-87">
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df98712142406-88">
               <span class="crayon-h">
               </span>
               <span class="crayon-e">
                ON_EDUTYPE_TO_ENTRY1
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                (
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-v">
                EDU_TYPE_MAXIMUM
               </span>
               <span class="crayon-sy">
                ,
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-keyword"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-t">
                FALSE
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df98712142406-89">
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-keyword"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-t">
                NULL
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-sy">
                ,
               </span>
              </div>
              <div class="crayon-line crayon-striped-line" id="crayon-5768537f6df98712142406-90">
               <span class="crayon-h">
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-e">
                span
               </span>
               <span class="crayon-t">
                class
               </span>
               <span class="crayon-o">
                =
               </span>
               <span class="crayon-s">
                "hljs-string"
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-s">
                "Unknow"
               </span>
               <span class="crayon-o">
                &lt;
               </span>
               <span class="crayon-o">
                /
               </span>
               <span class="crayon-v">
                span
               </span>
               <span class="crayon-o">
                &gt;
               </span>
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                )
               </span>
              </div>
              <div class="crayon-line" id="crayon-5768537f6df98712142406-91">
               <span class="crayon-h">
               </span>
               <span class="crayon-sy">
                }
               </span>
               <span class="crayon-sy">
                ;
               </span>
              </div>
             </div>
            </td>
           </tr>
          </tbody>
         </table>
        </div>
       </div>
       <!-- [Format Time: 0.0401 seconds] -->
       <p>
       </p>
       <h3>
        <p name="t20">
        </p>
        内存管理
       </h3>
       <p>
        虽然定义了SDBObject，很多类都是从这个类继承而来，这个类重写了new/delete，不过到底层还是使用了malloc解决问题，不排除以后会升级成mempool。目前还是只加了一些checking而已。
        <br/>
        看起来查询时用的内存都是临时分配的，而系统的内存应该还是消耗在了mmap上。
       </p>
       <h3>
        <p name="t21">
        </p>
        查询执行
       </h3>
       <p>
        一个基本的query执行方式：
       </p>
       <ol>
        <li>
         rtnQuery 完成查询计划的build（查询优化似乎做了一些事情，还没来得及细看），定位到第一个结果处。
        </li>
        <li>
         rtnGetMore 从第一个结果处继续扫描结果。
         <br/>
         从而避免了可能的查询结果过大的问题。
        </li>
       </ol>
       <h3>
        <p name="t22">
        </p>
        操作系统封装
       </h3>
       <p>
        在OSS中封装了常见的系统调用，比如read，create，open，malloc之类的。btw，有的文档中只列出了linux支持的版本，从代码上看windows应该也是支持的。
       </p>
       <p>
       </p>
       <p>
        文章出处：
        <a href="http://blog.csdn.net/oblesslyy">
         oblesslyy的专栏
        </a>
       </p>
      </div>
      <div>
       <strong>
        注：转载文章均来自于公开网络，仅供学习使用，不会用于任何商业用途，如果侵犯到原作者的权益，请您与我们联系删除或者授权事宜，联系邮箱：contact@dataunion.org。转载数盟网站文章请注明原文章作者，否则产生的任何版权纠纷与数盟无关。
       </strong>
      </div>
      <!--content_text-->
      <div class="fenxian">
       <!-- JiaThis Button BEGIN -->
       <div class="jiathis_style_32x32">
        <p class="jiathis_button_weixin">
        </p>
        <p class="jiathis_button_tsina">
        </p>
        <p class="jiathis_button_qzone">
        </p>
        <p class="jiathis_button_cqq">
        </p>
        <p class="jiathis_button_tumblr">
        </p>
        <a class="jiathis jiathis_txt jtico jtico_jiathis" href="http://www.jiathis.com/share" target="_blank">
        </a>
        <p class="jiathis_counter_style">
        </p>
       </div>
       <!-- JiaThis Button END -->
      </div>
     </article>
     <!--content-->
     <!--相关文章-->
     <div class="xianguan">
      <div class="xianguantitle">
       相关文章！
      </div>
      <ul class="pic">
       <li>
        <a href="http://dataunion.org/17978.html">
         <img src="http://dataunion.org/wp-content/uploads/2015/05/t018837ed7aceeaac4f_副本-300x188.jpg"/>
        </a>
        <a class="link" href="http://dataunion.org/17978.html" rel="bookmark" title="视觉中国的NoSQL之路：从MySQL到MongoDB">
         视觉中国的NoSQL之路：从MySQL到MongoDB
        </a>
       </li>
       <li>
        <a href="http://dataunion.org/15213.html">
         <img src="http://dataunion.org/wp-content/uploads/2015/04/00144-300x177.jpg"/>
        </a>
        <a class="link" href="http://dataunion.org/15213.html" rel="bookmark" title="NoSQL详解：如何找到对的技术">
         NoSQL详解：如何找到对的技术
        </a>
       </li>
       <li>
        <a href="http://dataunion.org/10131.html">
         <img src="http://dataunion.org/wp-content/uploads/2015/02/91_副本.jpg"/>
        </a>
        <a class="link" href="http://dataunion.org/10131.html" rel="bookmark" title="NoSQL数据库的35个应用场景">
         NoSQL数据库的35个应用场景
        </a>
       </li>
       <li>
        <a href="http://dataunion.org/9918.html">
         <img src="http://dataunion.org/wp-content/uploads/2015/01/54cb2c0f9bc69_middle-233x300.png"/>
        </a>
        <a class="link" href="http://dataunion.org/9918.html" rel="bookmark" title="深入解析NoSQL数据库的分布式算法">
         深入解析NoSQL数据库的分布式算法
        </a>
       </li>
      </ul>
     </div>
     <!--相关文章-->
     <div class="comment" id="comments">
      <!-- You can start editing here. -->
      <!-- If comments are open, but there are no comments. -->
      <div class="title">
       期待你一针见血的评论，Come on！
      </div>
      <div id="respond">
       <p>
        不用想啦，马上
        <a href="http://dataunion.org/wp-login.php?redirect_to=http%3A%2F%2Fdataunion.org%2F5624.html">
         "登录"
        </a>
        发表自已的想法.
       </p>
      </div>
     </div>
     <!-- .nav-single -->
    </div>
    <!--Container End-->
    <aside id="sitebar">
     <div class="sitebar_list2">
      <div class="wptag">
       <span class="tagtitle">
        热门标签+
       </span>
       <div class="tagg">
        <ul class="menu" id="menu-%e5%8f%8b%e6%83%85%e9%93%be%e6%8e%a5">
         <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1605" id="menu-item-1605">
          <a href="http://taidizh.com/">
           泰迪智慧
          </a>
         </li>
         <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-20884" id="menu-item-20884">
          <a href="http://www.transwarp.cn/">
           星环科技
          </a>
         </li>
         <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3538" id="menu-item-3538">
          <a href="http://datall.org/">
           珈和遥感
          </a>
         </li>
         <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-20888" id="menu-item-20888">
          <a href="http://www.chinahadoop.cn/">
           小象学院
          </a>
         </li>
        </ul>
       </div>
      </div>
     </div>
     <div class="sitebar_list">
      <div class="textwidget">
       <div align="center">
        <a href="http://study.163.com/course/courseMain.htm?courseId=991022" target="_blank">
         <img src="http://dataunion.org/wp-content/uploads/2016/03/dv.jpg"/>
        </a>
       </div>
      </div>
     </div>
     <div class="sitebar_list">
      <h4 class="sitebar_title">
       文章分类
      </h4>
      <div class="tagcloud">
       <a class="tag-link-44" href="http://dataunion.org/category/industry/demo" style="font-size: 10.204724409449pt;" title="4个话题">
        Demo展示
       </a>
       <a class="tag-link-31" href="http://dataunion.org/category/experts" style="font-size: 15.826771653543pt;" title="52个话题">
        专家团队
       </a>
       <a class="tag-link-870" href="http://dataunion.org/category/tech/ai" style="font-size: 19.795275590551pt;" title="273个话题">
        人工智能
       </a>
       <a class="tag-link-488" href="http://dataunion.org/category/%e5%8a%a0%e5%85%a5%e6%95%b0%e7%9b%9f" style="font-size: 8pt;" title="1个话题">
        加入数盟
       </a>
       <a class="tag-link-869" href="http://dataunion.org/category/tech/viz" style="font-size: 17.204724409449pt;" title="93个话题">
        可视化
       </a>
       <a class="tag-link-30" href="http://dataunion.org/category/partners" style="font-size: 10.645669291339pt;" title="5个话题">
        合作伙伴
       </a>
       <a class="tag-link-889" href="http://dataunion.org/category/parterc" style="font-size: 11.582677165354pt;" title="8个话题">
        合作会议
       </a>
       <a class="tag-link-104" href="http://dataunion.org/category/books" style="font-size: 12.96062992126pt;" title="15个话题">
        图书
       </a>
       <a class="tag-link-220" href="http://dataunion.org/category/tech/base" style="font-size: 19.850393700787pt;" title="281个话题">
        基础架构
       </a>
       <a class="tag-link-219" href="http://dataunion.org/category/tech/analysis" style="font-size: 19.409448818898pt;" title="232个话题">
        数据分析
       </a>
       <a class="tag-link-887" href="http://dataunion.org/category/tech/dm" style="font-size: 13.291338582677pt;" title="17个话题">
        数据挖掘
       </a>
       <a class="tag-link-34" href="http://dataunion.org/category/tech" style="font-size: 20.732283464567pt;" title="404个话题">
        文章
       </a>
       <a class="tag-link-1" href="http://dataunion.org/category/uncategorized" style="font-size: 22pt;" title="693个话题">
        未分类
       </a>
       <a class="tag-link-4" href="http://dataunion.org/category/events" style="font-size: 14.503937007874pt;" title="29个话题">
        活动
       </a>
       <a class="tag-link-890" href="http://dataunion.org/category/tech/%e6%b7%b1%e5%ba%a6%e5%ad%a6%e4%b9%a0" style="font-size: 10.204724409449pt;" title="4个话题">
        深度学习
       </a>
       <a class="tag-link-221" href="http://dataunion.org/category/tech/devl" style="font-size: 18.968503937008pt;" title="193个话题">
        编程语言
       </a>
       <a class="tag-link-888" href="http://dataunion.org/category/career" style="font-size: 15.661417322835pt;" title="48个话题">
        职业规划
       </a>
       <a class="tag-link-5" href="http://dataunion.org/category/jobs" style="font-size: 14.11811023622pt;" title="25个话题">
        职位
       </a>
       <a class="tag-link-871" href="http://dataunion.org/category/industry" style="font-size: 15.716535433071pt;" title="49个话题">
        行业
       </a>
       <a class="tag-link-613" href="http://dataunion.org/category/industry/case" style="font-size: 16.984251968504pt;" title="84个话题">
        行业应用
       </a>
       <a class="tag-link-885" href="http://dataunion.org/category/industry/news" style="font-size: 17.425196850394pt;" title="102个话题">
        行业资讯
       </a>
       <a class="tag-link-10" href="http://dataunion.org/category/training" style="font-size: 14.228346456693pt;" title="26个话题">
        课程
       </a>
       <a class="tag-link-16" href="http://dataunion.org/category/sources" style="font-size: 15.661417322835pt;" title="48个话题">
        资源
       </a>
      </div>
     </div>
     <div class="sitebar_list">
      <h4 class="sitebar_title">
       功能
      </h4>
      <ul>
       <li>
        <a href="http://dataunion.org/wp-login.php?action=register">
         注册
        </a>
       </li>
       <li>
        <a href="http://dataunion.org/wp-login.php">
         登录
        </a>
       </li>
       <li>
        <a href="http://dataunion.org/feed">
         文章
         <abbr title="Really Simple Syndication">
          RSS
         </abbr>
        </a>
       </li>
       <li>
        <a href="http://dataunion.org/comments/feed">
         评论
         <abbr title="Really Simple Syndication">
          RSS
         </abbr>
        </a>
       </li>
       <li>
        <a href="https://cn.wordpress.org/" title="基于WordPress，一个优美、先进的个人信息发布平台。">
         WordPress.org
        </a>
       </li>
      </ul>
     </div>
    </aside>
    <div class="clear">
    </div>
   </div>
   <!--main-->
   ﻿
   <footer id="dibu">
    <div class="about">
     <div class="right">
      <ul class="menu" id="menu-%e5%ba%95%e9%83%a8%e8%8f%9c%e5%8d%95">
       <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-18024" id="menu-item-18024">
        <a href="http://dataunion.org/category/partners">
         合作伙伴
        </a>
       </li>
       <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20881" id="menu-item-20881">
        <a href="http://dataunion.org/contribute">
         文章投稿
        </a>
       </li>
       <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-20872" id="menu-item-20872">
        <a href="http://dataunion.org/category/%e5%8a%a0%e5%85%a5%e6%95%b0%e7%9b%9f">
         加入数盟
        </a>
       </li>
       <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-22441" id="menu-item-22441">
        <a href="http://dataunion.org/f-links">
         友情链接
        </a>
       </li>
       <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20874" id="menu-item-20874">
        <a href="http://dataunion.org/aboutus">
         关于数盟
        </a>
       </li>
      </ul>
      <p class="banquan">
       数盟社区        ，
        做最棒的数据科学社区
      </p>
     </div>
     <div class="left">
      <ul class="bottomlist">
       <li>
        <a href="http://weibo.com/DataScientistUnion  " target="_blank" 　title="">
         <img src="http://dataunion.org/wp-content/themes/yzipi/images/weibo.png"/>
        </a>
       </li>
       <li>
        <a class="cd-popup-trigger" href="http://dataunion.org/5624.html#0">
         <img src="http://dataunion.org/wp-content/themes/yzipi/images/weixin.png"/>
        </a>
       </li>
      </ul>
      <div class="cd-popup">
       <div class="cd-popup-container">
        <h1>
         扫描二维码,加微信公众号
        </h1>
        <img src="http://dataunion.org/wp-content/themes/yzipi/images/2014-12-06-1515289049.png"/>
        <a class="cd-popup-close" href="http://dataunion.org/5624.html">
        </a>
       </div>
       <!-- cd-popup-container -->
      </div>
      <!-- cd-popup -->
     </div>
    </div>
    <!--about-->
    <div class="bottom">
     <a href="http://dataunion.org/">
      数盟社区
     </a>
     <a href="http://www.miitbeian.gov.cn/" rel="external nofollow" target="_blank">
      京ICP备14026740号
     </a>
     联系我们：
     <a href="mailto:contact@dataunion.org" target="_blank">
      contact@dataunion.org
     </a>
     <div class="tongji">
     </div>
     <!--bottom-->
     <div class="scroll" id="scroll" style="display:none;">
      ︿
     </div>
    </div>
   </footer>
   <!--dibu-->
  </div>
 </body>
</html>